home *** CD-ROM | disk | FTP | other *** search
/ Aminet 41 / Aminet 41 (2001)(Schatztruhe)[!][Feb 2001].iso / Aminet / dev / c / GSys.lha / gsys / gsystem / GFile.h < prev    next >
Encoding:
C/C++ Source or Header  |  2000-10-21  |  875 b   |  54 lines

  1.  
  2. /* Author Anders K */
  3.  
  4. #ifndef GFILE_H
  5. #define GFILE_H
  6.  
  7. #include "gsystem/GObject.h"
  8.  
  9. #ifndef GBUFFER_H
  10. #define GSEEK_START 0x0001
  11. #define GSEEK_END 0x0002
  12. #define GSEEK_CURRENT 0x0004
  13. #endif
  14.  
  15. //#define GFILE_DIR
  16.  
  17. class GFile : public GObject
  18. {
  19. public:
  20.     GFile() { memset((GAPTR)this, 0, sizeof(GFile)); };
  21.     GFile(GSTRPTR filename);
  22.     ~GFile();
  23.  
  24.     void PrintFileName() { printf("%s\n", FileName); };
  25.  
  26.     BOOL FileOpen(GSTRPTR filename);
  27.     BOOL FileClose();
  28.     BOOL FileLock();
  29.     BOOL FileUnLock();
  30.     BOOL FileSeek(GWORD offset, GUWORD seekmode);
  31.     BOOL FileRead(GAPTR buffer, GUWORD len);
  32.     BOOL FileWrite(GAPTR buffer, GUWORD len);
  33.  
  34.     GUWORD GetSize() { return FileSize; };
  35. private:
  36.  
  37. protected:
  38.     BOOL Locked;        // Default TRUE
  39.     GWORD FilePtr;
  40.     GWORD FileSize;
  41.     char FileName[256];    // FileName
  42.  
  43. #ifdef GAMIGA
  44.     BPTR FH;
  45. #endif
  46.  
  47. #ifdef GWINDOWS
  48.     HANDLE FH;
  49. #endif
  50.  
  51. };
  52.  
  53. #endif /* GFILE_H */
  54.